import {
	getAppUser
} from '@/common/api/ding/system.js';
import {
	getUserAndDeptById
} from '@/common/api/ding/di_user.js';

import store from '@/store/index.js'
const user = {
	namespaced: true,
	state: {
		DING_USER: {}, // dingding用户信息
		APP_DEPT: {}, // 系统部门信息
		APP_USER: {}, // 系统用户信息
		APPROVE_USER: {}, // 审批系统用户信息
		APPROVE_DEPT: {}, // 审批系统用户信息
		parentid: []
	},
	mutations: {
		SET_DING_USER(state, value) {
			sessionStorage.setItem('DING_USER', JSON.stringify(value))
			state.DING_USER = value
		},
		SET_APP_DEPT(state, value) {
			sessionStorage.setItem('APP_DEPT', JSON.stringify(value))
			state.APP_DEPT = value
		},
		SET_APP_USER(state, value) {
			sessionStorage.setItem('APP_USER', JSON.stringify(value))
			state.APP_USER = value
		},
		SET_APPROVE_USER(state, value) {
			sessionStorage.setItem('APPROVE_USER', JSON.stringify(value))
			state.APPROVE_USER = value
		},
		SET_APPROVE_DEPT(state, value) {
			sessionStorage.setItem('APPROVE_DEPT', JSON.stringify(value))
			state.APPROVE_DEPT = value
		},
		setParentid(state, value) {
			state.parentid = value
		}
	},
	actions: {
		// 查询赣政通用户信息
		getGztUserInfo(context, auth_code) {
			return new Promise(async (resolve, reject) => {
				// 1. 查询赣政通用户信息
				resolve(await getAppUser(auth_code))
			}).catch(() => {
				reject('查询赣政通用户信息！')
			})
		},
		// 查询系统用户信息
		getSysUserInfo(context, [userid, gztData]) {
			return new Promise(async (resolve, reject) => {
				// 1. 查询系统用户信息
				resolve(await getUserAndDeptById(userid, gztData))
			}).catch(() => {
				reject('查询系统用户信息！')
			})
		},
	}
}

export default user